JUsing DHELPFAPPENDJ
ASSIGNATTRIBïBACKUPΩBREAKòCALL▒!CD "CHCP %	CHKDSK'
CLSÉ,COMMAND-COMP[0
COPYÆ4CTTYô>DATEû?DELºADIRGCDISKCOMPΩDDISKCOPY╦HECHO>MEXE2BIN▓PEXITÆUFASTOPEN╟XFC7]FDISKdFIND╫hFORZlFORMATçoGOTO±vGRAFTABLíxGRAPHICS╤z IF°Ç!JOIN_ç"KEYBúï#LABEL╙î$MDzÅ%MEMÆ&MKDIRùö'MODE-ò(MODE device status<ÿ,MODE printerdÖ-MODE serial COM po¥+MODE video display#í.MODE keyboard6ñ)MODE printer and vª*MORE°⌐/NLSFUNCs¼0PATH╟¡1PAUSEû▒2PRINTä┤3PROMPT╞╝4RD:┬5RECOVER]─6REM=╩7RENl╠8RENAME▄╬9REPLACEY╧:RESTORE5╒;RMDIR█<SELECT¬█=SET8▀>SHARE╒Σ?SHIFT┬Φ@SORT╧∞ASUBST√∩BSYS█≥CTIME▄⌠DTREE·≈ETYPEü∙VER║·GVERIFY7√HVOL╥²IXCOPYV   
Copyright 1991, Inductive Logic.  All rights reserved.  No part of this file 
may be copied in any form without written permission from Inductive Logic.

DHELP is a quick reference for DOS commands.  It is not a full tutorial, and
is most helpful for users familiar with DOS basics.

Notice the prompt bar at the bottom of the screen.  This bar always tells
you what keys are valid for you to press.  For help on a specific topic,
press <F1>.  You will see a list of help topics.  Enter the topic name you
want, and press <Enter>.  You will jump to that topic in the help file.

From the command line, you can give a topic.  For example,
        DHELP CHKDSK

                                Notation

In this file, we use several terms and symbols:
    filespec    a file specification, which may include a drive, and/or 
                directory path, and includes a filename: a name (up to 8
                characters) with optional extension (up to 3 characters).
                'filespec's do not allow wildcard characters.
    wildspec    a DOS wildcard filespec.  Just like a 'filespec', except you 
                may include the DOS wildcards "*" and "?".  A question mark
                can be replaced by any character, including a <space>.  A
                "*" can be replaced by any number of any character.  Both
                the 'name' and 'extension' can have wildcards, but in
                either component, no characters may follow a "*".
    path        A path is syntactically identical to a 'filespec', but it
                must name a directory, rather than a file.
    dest-spec   destination file specification.  It may be just a 'path', or
                it may contain wildcards.  A dest-spec can only follow a 
                'wildspec'.  The dest-spec wildcard characters are replaced 
                with the characters from the filename matching the 'wildspec'.
    [ ]         square brackets mark optional parameters in the DOS syntax.
    ...         ellipses denote parameters that may be repeated one or more
                times.

Some commands label the parameters with descriptive prefixes, e.g.
in-filespec, or new-wildspec.

Note that InCommand wildcard-filespecs are much more capable than DOS
wildspecs.  See IHELP for information on InCommand wildcard-filespecs.

Examples:
        C:\DOS\CHKDSK.COM       is a valid filespec or wildspec
        C:\DOS\C?K*.?O?         is a valid wildspec
        C:\DOS                  is a valid path


───────────────────────────────────────────────────────────────────────────────
APPEND  path[;path ...]

Sets a search path for data file
  /E            (Allowed on first APPEND command only.)  Maintain an 
                environment variable APPEND to hold the current APPEND path.
  /PATH:ON      Search the APPEND path list even if a given filespec has an 
                explicit drive or subdirectory path.
  /PATH:OFF     Do not search APPEND path list if a filespec has a drive or 
                path.
  /X or /X:ON   Use the APPEND search path to find files with the Find File 
                (Int 21H, Function 11H and Function 4EH) and EXEC (Int 21H, 
                Function 4BH) DOS functions.
  /X:OFF        Disables APPEND for Find File and EXEC DOS functions.

APPEND is conceptually similar to PATH, but APPEND works on data files, not
external commands.

To remove all appended paths, enter
        APPEND;


───────────────────────────────────────────────────────────────────────────────
ASSIGN  v=d [v=d ...]

Assigns a virtual drive letter to a logical disk drive  (Obsolete)

ASSIGN causes DOS to redirect all references to the virtual drive on the
left to the logical drive on the right.  The virtual drive letter must the
letter of an existing logical drive, but after ASSIGNing it becomes a virtual 
drive.

Do not use colons after the drive letters.

To reset all virtual drives to their original logical drives, type
        ASSIGN

ASSIGN is obsolete.  Instead of 
        ASSIGN A=C
you should use 
        SUBST A: C:\


───────────────────────────────────────────────────────────────────────────────
ATTRIB  [+A -A +R -R] wildspec [/S]

Displays or sets file Archive or Read-only attributes
  /S    search 'filespec' and its subdirectory tree for files

Without any "+" or "-" modifiers, ATTRIB displays the file attributes.  With
the modifiers, it sets/clears the given attributes.

Note that you can use ATTRIB to find a lost file in a directory tree by using 
the "/S" modifier and omitting any "+" or "-" modifiers.

DOS 5.x and higher allows +S -S +H and -H to control the System and Hidden 
attributes.


───────────────────────────────────────────────────────────────────────────────
BACKUP wildspec [drive2:]

Copies files to disk for archiving
  /A            Adds new backup files to an existing disk.  The files already
                on the backup disk are not deleted, but they may be 
                overwritten.
  /D:date       Backs up files created or modified on or after 'date'.
  /F:size       Formats destination disk, if needed.  'size' describes the 
                destination disk, as in the FORMAT command, .e.g. "360K".
  /L:filespec   Writes the names of the files backed up to the given file.  If
                omitted, the file list is written to \BACKUP.LOG on the source
                disk.  If 'filespec' already exists, BACKUP appends to it.
  /M            Incremental backup.  Backs up files only if they have the
                Archive attribute.  BACKUP clears the source file's Archive 
                attribute after backing it up.  
  /S            Backup all subdirectories of the given directory.
  /T:time       Backs up files created or modified at or after 'time'.

By default, BACKUP erases everything from the destination disk before writing 
to it.  Instead, you can use the /A modifier to add to an existing disk.

DOS keeps an attribute for every file called the Archive attribute.  DOS
sets this attribute whenever a file is created or modified.  You can have
BACKUP clear this attribute when it backs up a file.  Then at a later time,
only those files which have the Archive attribute need be backed up, because
the other files haven't changed since the first backup.  A later backup
which only copies files changed since a previous backup is called an
"incremental" backup.

The backup log file contains the date/time of the backup, followed by a list
of each file backed up, and the disk number of the backup disk on which it
was written.  You can use this disk number to save having to search through
all the backup disks when you want to restore a file.

In general, BACKUP includes files with Hidden and/or System attributes, but
it doesn't back up files named IO.SYS, MSDOS.SYS, or COMMAND.COM (for IBM
PC-DOS users, the *.SYS files may have different names).  

BACKUP disks created with DOS 3.3 or later require DOS 3.3 or later to 
restore them.

Though the DOS documentation says you shouldn't use BACKUP on SUBSTituted
drives, it can be very useful to do so.  Because RESTORE can only restore a
file to the complete directory path from which it was backed up, it is
difficult to restore files to a different directory path.  You can do this,
though, if you use SUBST to create a virtual drive at the base of a
directory tree you want to back up.  BACKUP from the SUBST drive, and all
the files in the tree will be stored on the disk with a path relative to the
tree base.  When you want to restore to an arbitrary tree base, use SUBST to
create a virtual drive to that base, and RESTORE to that virtual drive.

EXIT CODES:
        0       Success
        1       No source files found
        2       Sharing restrictions prevented some files from being read
        3       Aborted with ^C
        4       Fatal error


───────────────────────────────────────────────────────────────────────────────
BREAK [ON]      or      BREAK OFF

Adjusts or displays ^C program abort capability

Setting BREAK OFF causes DOS to check for ^C only when writing to the screen
or reading from the keyboard.  Setting BREAK ON causes DOS to check for ^C
on every DOS function the executing program performs.  Thus it is easier to
break out of an errant program with BREAK ON.

The default if BREAK OFF, but you should always put a BREAK ON in your
AUTOEXEC.BAT.


───────────────────────────────────────────────────────────────────────────────
CALL filespec [parameters]

Invokes a batch file from within another batch file

The CALLing batch file resumes after the CALLed batch file completes.  Batch
files can be recursive.  Do not use pipes or file redirection on the CALL
command. 


───────────────────────────────────────────────────────────────────────────────
CD [path]       or      CHDIR [path]

Display or change default directory on a disk

If 'path' does not specify a drive, CD sets the default directory for the
current default drive.

You can change the default directory on a drive other than your current
default drive by including the drive letter in the 'path'.  Note that this
does NOT make the specified drive your current default drive.  It simply
changes the default directory for that drive.


───────────────────────────────────────────────────────────────────────────────
CHCP [n]

Sets or displays the international character set used by DOS

'n' is a code page which defines the international character set.  The COUNTRY
command in CONFIG.SYS defines the code pages you can select. The code pages 
available are these:
        437     United States
        850     Multilingual
        860     Portuguese
        863     Canadian-French
        865     Nordic


───────────────────────────────────────────────────────────────────────────────
CHKDSK [drive:] 
CHKDSK filespec

Verifies the integrity of a disk directory and structure
  /F    Fix any errors found on the disk.
  /V    display each filename as it is verified

If you include a filespec parameter, CHKDSK reports a summary of the
disk and that file.

Without a filespec, CHKDSK scans the disk for errors.  It does NOT
catch all possible errors, and some 3rd party software vendors have much
better disk checking utilities.

If CHKDSK finds lost clusters, it asks you 

        Convert lost chains to files (Y/N)?

If you answer "Y", and you used the /F modifier, CHKDSK converts each lost 
chain to a file named FILEnnnn.CHK in the root directory.  If the root
directory fills up, CHKDSK aborts, and asks you to free up root directory
space and then run CHKDSK again.

Without the /F modifier, CHKDSK looks for errors, but does not fix them.  EVEN
THOUGH CHKDSK WILL ASK YOU IF YOU WANT THEM FIXED, AND YOU SAY "YES", AND
CHKDSK WILL SAY THAT IT HAS FIXED THEM, IT WILL NOT FIX THEM UNLESS YOU USED
THE "/F" MODIFIER ON THE COMMAND.  Pretty amazing, isn't it?

If you run CHKDSK while programs have open files, it may incorrectly report
lost clusters.  Therefore, DO NOT RUN CHKDSK WHILE OTHER PROGRAMS MAY HAVE
OPEN FILES.

CHKDSK doesn't work on drives used in SUBST or JOIN.


───────────────────────────────────────────────────────────────────────────────
CLS

Clears the display screen


───────────────────────────────────────────────────────────────────────────────
COMMAND [path] [ctty-dev]

Invokes a DOS subprocess command line interpreter
  /E:n  Set environment size to 'n' bytes.  Default is 160 bytes.
  /P    Makes the new command line interpreter "permanent", until you give
        an EXIT command.
  /C command-line       Execute the command 'command-line'

When you start a new command line interpreter (CLI), it creates its own
environment, which is separate from its parent CLI.  Initially, the
subprocess environment is a copy of its parent's environment, but you can 
change it.  There is no way to change the parent environment without EXITing 
the subprocess CLI.

'path' tells the CLI where to find COMMAND.COM when it needs to reload parts
of itself that were overwritten by application programs.


───────────────────────────────────────────────────────────────────────────────
COMP [wildspec] [dest-spec]

Compares files

Both files must have EOF (^Z = decimal 26) bytes in them to mark their end.
COMP only compares up to the EOF marks.  Note that by using wildcards, you
can compare several pairs of files with one command.

If you type only a drive for 'dest-spec', COMP assumes the same filename as
'wildspec'.  If you omit either wildspec, COMP prompts you for them.

The files are compared byte by byte, with no attempt to resynchronize after
a mismatch.  After 10 bytes don't match, COMP aborts the comparison for that
file pair.

If the file sizes are different, COMP does not even attempt to compare them.

After all the file pairs given are compared, COMP asks "Compare more files
(Y/N)?". If you say "Y", COMP prompts you for another set of wildspecs.

Note that the DOS FC/B command will compare files of different sizes, up to
the length of the shorter file, and beyond 10 mismatches.  However, FC does 
not accept wildcards (see FC).


───────────────────────────────────────────────────────────────────────────────
COPY wildspec [dest-spec]                               (copies/appends files)
COPY wildspec1+wildspec2[+wildspec3 ...] [dest-spec]    (appends files)

Copies data from any source to any destination
  /V    Rereads the destination file to verify it has no CRC errors on the
        disk.  The destination file is NOT compared to the source file.
  /A    On a source file, copy only until the ^Z end-of-file mark.  This 
        modifier applies to the source file immediately preceding it, and all 
        subsequent files until another /A or /B modifier.  Default is /B for
        the first form, and /A for the second form.

        On a destination file, causes a ^Z end-of-file mark to be appended
        to the destination.

  /B    On a source file, copies the whole file, as defined by the file size 
        in its directory entry.  This modifier applies to the source file 
        immediately preceding it, and all subsequent files until another /A 
        or /B modifier.  Default is /B for the first form, and /A for the
        second form.

If you omit the dest-spec, files are copied into your current
directory with the same names and dates/times as the source files.

COPY cannot copy directory trees.  Use XCOPY for that.

In the first form of COPY, if you use wildcards in the source wildspec, 
but not in the dest-spec, then all the source files are concatenated into 
the destination file.  If you use wildcards in both the source and dest-spec, 
each source file is copied to a separate destination file.

The second form of COPY also appends (concatenates) files together.  Its
behavior also depends on the presence of wildcards in dest-spec.

If dest-spec has no wildcards, it specifies a single file.  All the source
files are concatenated into it.

If dest-spec contains wildcards, then each file found from wildspec1 is
conatenated with a corresponding file from wildspec2, and then wildspec3,
etc.  The corresponding filenames for wildspec2 (and others) are formed by the
rules for creating dest-spec names.  Each set of source file from wildspec1,
concatenated with files from wildspec2 (etc), produces a destination file.  
If any source files in wildspec2 (or higher) don't exist, COPY gives an error.

For example, if your directory has files A.X, A.Y, A.Z, B.X, B.Y, and B.Z, then
        COPY A.X+A.Y+A.Z A.ALL
        COPY B.X+B.Y+B.Z B.ALL
is equivalent to
        COPY *.X+*.Y+*.Z *.ALL


───────────────────────────────────────────────────────────────────────────────
CTTY device

Changes the DOS command input device

Sets the default input device from which DOS reads commands and standard
program input.

EXAMPLE:        CTTY COM1


───────────────────────────────────────────────────────────────────────────────
DATE [mm-dd-yy]
DATE [mm-dd-yyyy]

Sets or displays the computer date

Month, day, and year must use numbers.  Letters are not allowed.  They may
be separated by slashes instead of dashes.

The date format can be changed with the COUNTRY= LINE in your CONFIG.SYS file, 
depending on the code page you use.

DATE without a parameter displays the current date, and prompts you for a
new one.  Press <enter> to keep the current date.


───────────────────────────────────────────────────────────────────────────────
DEL wildspec

Deletes files
  /P    prompts you on each file before deleting it.  You can pick and choose
        which files to keep or delete.

Typing DEL *.* gives you the vacuous DOS prompt "Are you sure?".  The
InCommand IDEL command gives you the complete pathnames that will be
deleted, and asks you to confirm it.


───────────────────────────────────────────────────────────────────────────────
DIR wildspec

Displays directory of files
  /P    pause after each screenful of files.
  /W    "Wide" display.  Names only, 5 per line.

Note that "DIR .EXT" is the same as "DIR *.EXT", so you don't have to type the
redundant "*".

Like the DATE command, DIR displays file dates according to the country you've
selected.  


───────────────────────────────────────────────────────────────────────────────
DISKCOMP drive1 [drive2]

Compares two disks at the format level
  /1    compare just the first side of both disks, even if they are double
        sided disks.
  /8    compares just the first 8 sectors per track, even if the disk has
        more than 8 sectors per track.

DISKCOMP does a sector-by-sector compare of 2 disks.  If you omit 'drive2',
DISKCOMP assumes your default drive.  If you give the same drive twice,
DISKCOMP compares 2 diskettes from that drive by prompting you to switch 
diskettes when needed.  

DISKCOMP does NOT compare the volume serial numbers of the disks.

You cannot use DISKCOMP with ASSIGNed, JOINed, or SUBSTituted drives.

EXIT CODES:
        0       Disks are the same
        1       Disks are different
        2       User aborted with ^C
        3       Unrecoverable disk read error
        4       Not enough memory, or invalid disks given


───────────────────────────────────────────────────────────────────────────────
DISKCOPY drive1 [drive2]

Copies floppy disks at the format level
  /1    Copy only 1 side of a disk, even if it is a double sided disk.

DISKCOPY copies the source disk to the destination disk, sector by sector. 
The internal file structure is retained.

If drive1 is the same as drive2, DISKCOPY prompts you to change disks as
needed.  If you omit drive2, DISKCOPY assumes your current default drive.

The destination disk must be the same type as the source disk.  If the
destination disk is not formatted, DISKCOPY formats it with the
source disk formatting, and then copies to it.  If the destination is
formatted, it must have the same formatting as the source.

If the source disk has a volume serial number, DISKCOPY creates a new volume
serial number for the destination disk, and displays it.

EXIT CODES:
        0       Copy successful
        1       Unrecoverable read or write error
        2       User aborted with ^C
        3       Fatal error
        4       Not enough memory, invalid disks, or syntax error


───────────────────────────────────────────────────────────────────────────────
ECHO [ON]
ECHO OFF
ECHO string

Enables/disables batch command echoing
Displays any message

When a batch file is first started, each command is echoed to the DOS diplay
as it is executed.  You can prevent this command echoing by setting ECHO
OFF.  You can re-enable it with ECHO ON.

Putting any string other than "ON" or "OFF" after ECHO causes ECHO to
display that string on the DOS display.  You can use ECHO from a batch file
to send a message to the display, prompt for user input, etc.

Note that you can put an at-sign ("@") before any command in a batch file to
suppress that one command from echoing.  Other commands are echoed according
to the current ECHO setting.  Very often, batch files begin with an "@ECHO
OFF" command, to quietly turn off batch command echoing.


───────────────────────────────────────────────────────────────────────────────
EXE2BIN infile outfile

Converts .EXE files to .COM or binary files

If you omit the extension on 'infile', EXE2BIN assumes .EXE.  If you omit
the extension on 'outfile', EXE2BIN assumes .BIN.  If you omit the drive of
'outfile', EXE2BIN uses the drive of 'infile'.

The .EXE file must conform to the following restrictions:

        1. Code and data must be less than 64k bytes.
        2. There must be no STACK segment.

If the CS:IP in the .EXE file is 0:100, EXE2BIN assumes the output file will
be a .COM file.  The .EXE may not have any segment fixups, because .COM
files must be "segment relocatable", that is, they must be able to be loaded
at any segment.  You may execute .COM files created by EXE2BIN from the DOS
command line.

EXE2BIN can also create a memory image (binary) file from a .EXE file.  In
this case, EXE2BIN will prompt you for the fixup value.  The fixup value is
the absolute segment to which the .EXE file is relocated.  The binary file
is valid only for that load address.  The .BIN file may NOT be executed from
the DOS command line.  You must have your own software which can use the
resulting .BIN file.


───────────────────────────────────────────────────────────────────────────────
EXIT

Returns from a DOS COMMAND.COM subshell

Many application programs have the ability to "shell out" to DOS
while preserving themselves.  While in such a "subshell", you can
execute DOS commands from the command line. When you are done, type
EXIT to return to the suspended program.

If no previous level exists, EXIT does nothing.

When you create a subshell, the DOS environment is copied
to the subshell environment.  While there, you can freely modify the
subshell DOS environment (PATH, etc.).  When you EXIT, the subshell
environment disappears, and you are restored to the main DOS environment,
which has not changed.

You can use COMMAND from the DOS command line to create a DOS subshell (see 
COMMAND).


───────────────────────────────────────────────────────────────────────────────
FASTOPEN drive:[=n] [drive:[=n] ...]
FASTOPEN drive:=(n,m)
FASTOPEN drive:=(,m)

Speeds disk access by keeping directory information in memory.
  /X    use LIM 4.0 expanded memory for the directory cache.

'n' is the number of files FASTOPEN will keep track of.  'm' is the number
of FAT entries (extents) for each file that FASTOPEN will cache.  If you omit
'm', FASTOPEN does not cache any FAT entries.

Every time you open a file, FASTOPEN checks its cache to see if it already
knows where the file is on disk.  If so, DOS does not follow through the
chain of directories in the path to find the file, but goes directly to the
directory entry for the file.

FASTOPEN is especially effective for applications that continually
open lots of files.

FASTOPEN uses about 48 bytes per file.  FASTOPEN only works on fixed disks
(not on floppies).  You can only use FASTOPEN once; if you want to change a
FASTOPEN parameter, you must reboot DOS.  Most people do not use the 'm' 
parameter, and it does not exist in DOS 5.0 or later.


───────────────────────────────────────────────────────────────────────────────
FC filespec1 filespec2

Compares two files
  /A    Abbreviate the difference list to just the first and last lines of
        each set of differences.
  /B    Binary compare, like COMP.  /B is the default when filespec1 has an
        extension of .BIN, .COM, .EXE, .LIB, .OBJ, or .SYS.  There is no
        resynchronization after differences are found.
  /C    Ignore upper/lower case.
  /L    Force ASCII text line compare mode, even on .BIN, .COM, .EXE, .LIB,
        .OBJ, or .SYS files.
  /Ln   where 'n' is a number.  Sets the FC compare buffer to 'n' lines.  The
        default is 100.  Files differing by more than 'n' lines terminate
        the compare, because they cannot be resynchronized.
  /N    display text line numbers in the differences list.
  /T    Treat tabs as normal characters.  Default is to convert them to 
        spaces to 8 column settings.
  /W    Compress white space (tabs and spaces) for comparison.  Any number
        of consecutive tabs or spaces are equivalent to a single space. 
        White space at the beginning or end of a line is ignored.
  /n    where 'n' is a number.  'n' is the number of text lines that must
        match for the files to be considered "resynchronized."  If less than
        'n' lined match, those lines are considered part of the difference
        between the files.  The default is 2.

When FC finds a difference between 2 ASCII files, FC displays the region of
each file which is different.  FC shows 1 line of overlap, so the first and
last lines of each region match between the 2 files.

It is often convenient to redirect FC output to a file or pipe it to MORE.


───────────────────────────────────────────────────────────────────────────────
FDISK

Partition a hard disk into one or more Logical Drives for use by DOS

WARNING: FDISK COMPLETELY WIPES OUT A HARD DISK, so only use it on a
disk when you do not need the information on it.

FDISK runs a series of menus, from which you can configure a hard disk. 
In DOS 3.3 and earlier, the largest "logical drive" DOS supported was 32 Mb.  
Because many hard disks are bigger than 32 Mb, you must "partition" them
into 32 Mb or smaller "logical drives", so DOS can deal with them.  You use
FDISK to do this.

Later versions of DOS can handle larger drives, but you can still partition
them if you want to divide your data into "logical" groups.

Use FDISK to do things such as
    1. Create a primary (bootable) DOS partition on a hard disk.
    2. Create an extended DOS partition on a hard disk.  Extended partitions 
       can contain many logical drives, but you cannot boot from them.
    3. Select the active boot partition.
    4. Delete a DOS partition.
    5. Display your disk partitions

FDISK doesn't work on JOINed or SUBSTituted drives.  For more information,
refer to your DOS manual.


───────────────────────────────────────────────────────────────────────────────
FIND "string" [filespec ...]

Find text occurring in a set of files
  /C    Display only the count of lines that would otherwise be displayed.
  /N    Display line numbers with the text lines
  /V    Display lines NOT containing "string"

You may not use wildcards in any of the filespecs, but you may specify any
number of files for FIND to search through (bizarre, isn't it?).  "string"
must be enclosed in double quotes.  To find a string containing a double
quote, use 2 double quotes for each double quote in the target string.  

The search is case-sensitive; the text in the files must match exactly the
upper and lower case characters in "string".

If you do not give any filespecs, FIND acts as a filter, and reads from the
standard input.  This is useful for piping output through FIND.


───────────────────────────────────────────────────────────────────────────────
FOR %%c IN (file-set) DO command        (from within batch files)
FOR %c IN (file-set) DO command         (from the DOS command prompt)

Executes a command once for each file in a set of files

'file-set' is a list of filespecs, separated by spaces, and enclosed in
parentheses.  The filespecs may include wildcards.

FOR is like a limited version of the InCommand EXECUTE command.  FOR
executes 'command' once for each file in 'file-set'.  For each file, %c is
set to the current file name of the 'file-set'.  The 'command' can
contain a %c in it, which is replaced by that name.

The variable "c" can be any character except "0" through "9", because those
would be confused with batch parameters %0 through %9.


───────────────────────────────────────────────────────────────────────────────
FORMAT drive:

Erases and prepares floppy and hard disks for use by DOS
  /1    Format only 1 side of a floppy disk
  /4    Format a 5.25" disk for 360kb, even in a 1.2 Mb drive.  Such a
        floppy may not be readable in some 360kb drives.
  /8    Format a 160kb or 320 kb floppy (8 sectors per track).  Obsolete.
  /B    Leave space to later make the disk bootable.
  /S    Make the disk bootable by including the necessary system files.
        If there is no DOS system on your default drive, FORMAT prompts you 
        for a system floppy disk.
  /F:size       Size of disk to format.  'size' can be 160, 160K, 160KB, 180,
        180K, 180KB, 320, 320K, 320KB, 360, 360K, 360KB, 720, 720K, 720KB, 
        1200, 1200K, 1200KB, 1.2, 1.2M, 1.2MB, 1440, 1440K, 1440KB, 1.44,
        1.44M, or 1.44MB.
  /T:n  For 3.5" floppies, number of tracks to format.  For 720kb or 1.44 Mb
        drives, the default is 80 tracks.
  /N:n  For 3.5" floppies, number of sectors per track to format.  For 720kb 
        drives, the default is 9.  For 1.44 Mb drive, the default is 18.
  /V:label      Write a volume (disk) label.  If you omit this, FORMAT prompts 
        you for a volume label.  Labels may be up to 11 characters.

The /N and /T modifiers may not be used with /F.  When formatting a hard
disk, FORMAT asks you to type the current label of the hard disk, to be sure
you really want to wipe out that disk.  If the hard disk has no valid label,
FORMAT formats it without confirmation.

FORMAT does not work with ASSIGNed, JOINed, or SUBSTituted drives.  You
cannot FORMAT network drives.

Exit Codes:
        0       Success
        3       Aborted by user with ^C
        4       Fatal error
        5       Aborted by user responding "NO" to the confirmation request


───────────────────────────────────────────────────────────────────────────────
GOTO [:]label

Jumps batch file execution to a label in the batch file

Labels are defined in batch files as command lines comprised of a colon,
followed by a label.  Labels may contain spaces, but not special characters
such as "=", ",", or ";".

If the 'label' does not exist within the batch file, the batch terminates
with NO error.


───────────────────────────────────────────────────────────────────────────────
GRAFTABL [code-page]    Load character set for CGA graphics mode text
GRAFTABL /STA[TUS]      Display current character set
GRAFTABL [?]            Help on GRAFTABL

The code pages available are these:
        437     United States
        850     Multilingual
        860     Portuguese
        863     Canadian-French
        865     Nordic

You can use GRAFTABL as often as you like to change the character set.

GRAFTABL increases the resident size of DOS.


───────────────────────────────────────────────────────────────────────────────
GRAPHICS [type] [filespec]

Enables you to print a graphics display.
  /B    Print the background in a color, instead of leaving it blank.
  /R    Print black and white as seen on the screen.  Default is to print
        screen white as black, and screen black as white.
  /LCD  Use LCD (Liquid Crystal Display) aspect ratio, instead of CGA.  
        Equivalent to /PRINTBOX:LCD.
  /PRINTBOX:id  or  /PB:id      Selects the size and aspect ratio of the 
        image to print.  'id' is the name of a printbox defined in the printer 
        profile file ('filespec').  For GRAPHICS.PRO, the choices are STD and
        LCD.

'type' is a printer defined in the printer profile.  The default profile is
GRAPHICS.PRO.  This defines these 'type's:
  COLOR1        IBM PC color printer with black ribbon.
  COLOR4        IBM PC color printer with red, green, blue, and black.
  COLOR8        IBM PC color printer with cyan, magenta, yello, and black.
  GRAPHICS      IBM Personal Graphics printer, Proprinter, or Quietwriter.
  GRAPHICSWIDE  IBM Personal Graphics printer with 11 inch wide form.
  THERMAL       IBM PC Convertible thermal printer

The GRAPHICS command supports CGA, EGA, VGA, and 8514/A video adapters.
'type' defaults to the GRAPHICS printer.

To print a graphics screen, press <Shift>-<PrintScrn>.  In 320x200 mode, the
COLOR1 printer uses 4 shades of gray to emulate the screen colors.

The GRAPHICS command increases the resident size of DOS.


───────────────────────────────────────────────────────────────────────────────
IF [NOT] ERRORLEVEL number command
IF [NOT] string1==string2 command
IF [NOT] EXIST filespec command

Conditionally executes a command (usually used in batch files)

The 'command' is often a GOTO command, so you can have many batch command
lines conditionally executed.

The ERRORLEVEL is the EXIT CODE of the last program to execute.  Sometimes,
higher exit codes indicate higher severities of error.  Therefore, the IF
ERRORLEVEL statement is TRUE if the exit code is greater than or equal to
'number'.  If you want to test for several distinct exit codes, test for the
highest one first, then work your way downward, so the higher exit codes are
not mistaken for lower ones.

The 'string' comparisons are often used to test the value of batch
parameters (%0 through %9).  For example, to test if the first parameter is
the string "NEW", you could use
        IF %1==NEW GOTO IT_IS_NEW
However, this will generate a syntax error if %1 was omitted, because then
there is no string to the left of the "==".  You can avoid this by putting
quotes (or any arbitrary character) around both strings:
        IF "%1"=="NEW" GOTO IT_IS_NEW
You can use this method to see if %1 was omitted:
        IF "%1"=="" GOTO IT_IS_NULL

Note that the string comparison is case-sensitive, so "new" does not equal
"New". 

The IF EXIST form tests for the existence of any files matching 'filespec',
which may contain wildcards.  The InCommand DI/EXIST command allows much
more capable file and directory existence checking for batch files.


───────────────────────────────────────────────────────────────────────────────
JOIN                    display all joined drives
JOIN drive: path        join 'drive' to 'path'
JOIN drive: /D          un-join 'drive'

Joins 2 disk drives as one
  /D    Delete the joining of drive:

JOIN joins 2 disk drives as one, by allowing a drive to "look like" a
subdirectory of another (parent) drive.

JOIN creates a placeholder directory named 'path' on the parent drive.  The
placeholder actually points to 'drive', and the whole disk on 'drive' is
treated as if it were in the 'path' directory of the parent.  If 'path' 
already exists and is not empty, JOIN gives an error.  'path' must be a 
directory in the root of the parent drive.

To remove a JOINed drive, use "JOIN drive: /D".

When you JOIN a drive, that drive becomes invalid, and can only be used
through a reference to 'path'.  You cannot use the following commands on a
drive which has another JOINed to it:
        BACKUP   CHKDSK   DISKCOMP  DISKCOPY  FDISK  FORMAT  LABEL
        RECOVER  RESTORE  SYS


───────────────────────────────────────────────────────────────────────────────
KEYB [country, code-page, filespec]

Redefines keyboard for the given international character set
  /ID:nnn       identifies the type of keyboard on your computer

See your DOS documentation for more information.


───────────────────────────────────────────────────────────────────────────────
LABEL [drive:][label]

Sets or deletes a disk volume label

Disk labels are arbitrary names that you can give to your disks or diskettes.
A label may be up to 11 characters, and may include spaces.  If you omit
'drive:', it defaults to the current drive.

If you omit 'label', LABEL will display the current label, and prompt you
for the new one.  If you press <ENTER> at the prompt, LABEL asks if you want
to delete the existing disk label.

You cannot use LABEL on SUBST or JOINed drives.  Labels may not include
these characters:
        * ? / \ | . , ; : + = < > [ ] ( ) & ^


───────────────────────────────────────────────────────────────────────────────
MD path         or      MKDIR path

Creates a subdirectory

'path' may include a drive, and may be relative to the current default
directory for the drive, or may be absolutely defined from the root
directory by starting the path with a backslash ("\").  The maximum path
length for any path must be 63 or fewer characters, counting from the root
backslash.

You can only create 1 new directory at a time.  For example, if you want to
create a directory X, and a subdirectory of it named Y, you must enter
        MD X            create X
        MD X\Y          create X\Y


───────────────────────────────────────────────────────────────────────────────
MEM 

Displays a map of DOS controlled memory
  /PROGRAM      display includes program names loaded in memory.
  /DEBUG        display includes /PROGRAM, and also drivers and other memory
                allocation information.

The memory display includes both allocated and free memory.  MEM displays
extended memory if it exists, and expanded memory if an LIM 4.0 Expanded
memory driver is installed.  DOS labels all its Expanded memory with
descriptive names.  You can see these memory blocks and their names with the
/DEBUG modifier.


───────────────────────────────────────────────────────────────────────────────
MKDIR path

Creates a subdirectory (synonym for MD).  See MD.


───────────────────────────────────────────────────────────────────────────────
MODE

Displays status or sets configuration of various I/O devices.

You use MODE to do any of the following:
        1. Display the status of any or all I/O devices.
        2. Configure printers, and select the default printer.
        3. Make a serial port the default printer device.
        4. Configure the video display, or select a default display.
        5. Configure a serial port (COM1, COM2, COM3, or COM4).
        6. Set the keyboard repeat (typematic) rate.
        7. Prepare code pages for downloading to devices

Some functions require you to have the ANSI.SYS driver installed in your
CONFIG.SYS.  The syntax for each of these functions is different, as follows:


───────────────────────────────────────────────────────────────────────────────
MODE [device] [/STATUS]

Typing MODE with no parameters displays the status of all your I/O devices. 
You only need the /STATUS modifier to see the status of a redirected printer
(routed to a serial port).


───────────────────────────────────────────────────────────────────────────────
MODE LPTn[:] [columns][,lines][,retry]
MODE LPTn[:] [COLS=columns] [LINES=lines] [RETRY=retry]
MODE LPTn[:]=COMn[:]

Sets the parameters for IBM compatible parallel printers.

For parallel printers, PRN is equivalent to LPT1.  'columns' is the number
of print columns: 80 or 132.  'lines' is the number of lines per inch.  The
defaults are 80 columns, 6 lines per inch.

'retry' specifies the action to take when the printer times out:
        E       return an error
        B       return busy (equivalent to "P" modifier in earlier DOS 
                versions)
        R       return ready
        NONE    take no action

You can abort waiting for a printer to come ready by pressing <Ctrl><Break>.

The MODE LPTn=COMn redirects all printer output for LPTn to COMn.  You
should configure you serial port first (see MODE serial COM ports), then
redirect the printer output to it.  You remove the printer redirection by
typing "MODE LPTn".


───────────────────────────────────────────────────────────────────────────────
MODE COMn[:] baud[,parity][,databits][,stopbits][,retry]

Configure a serial port.

Standard PC serial ports are asynchronous.

 'baud' is the first 2 digits or the data rate: 110, 150, 300, 600,
1200, 2400, 4800, 9600, 19200 (PS/2 only).  

'parity' is the first letter of None, Odd, Even, Mark, or Space.  The
default is Even.

'databits' is 5, 6, 7, or 8.  Default is 7.

'stopbits' is 1, 1.5, or 2.  Default is 1, except for 110 baud default is 2.
Note that 7 databits, No parity, and 2 stop bits is equivalent to 7
databits, Mark parity, 1 stop bit.

'retry' specifies the action to take when the serial port times out:
        E       return an error
        B       return busy (equivalent to "P" modifier in earlier DOS 
                versions)
        R       return ready
        NONE    take no action

        
───────────────────────────────────────────────────────────────────────────────
MODE display, lines
MODE [display],shift[,TEST]
MODE CON[:] [COLS=columns] [LINES=lines]

Set video display options and parameters.

'display' is one of 40, 80, BW40, BW80, CO40, CO80, or MONO.  "40" and "80"
specify the number of columns on the display.  MONO speicifies a monochrome 
display adapter (MDA) with 80 columns. 

'shift' is either L or R, and specifies a Left or Right shift of the display
for a Color Graphics Adapter (CGA).

'lines' is the number of lines on the display: 25, 43, or 50.  MDA and CGA
only allow 25.  EGA allows 25 or 43.  VGA allows 25, 43, or 50.

'columns' is the number of display columns: 40 or 80.

TEST displays a screen alignment test pattern.


───────────────────────────────────────────────────────────────────────────────
MODE CON[:] RATE=r DELAY=d

Sets the keyboard repeat (typamatic) rate and delay.

The delay is how long you must hold a key down before it starts repeating. 
The rate is how fast it repeats.  Both RATE and DELAY must be given together.

'r' is the repeat rate from 1 to 32: 1 is about 2 per second; 32 is about 30 
per second. 

'd' is 1, 2, 3, or 4: .25, .5, .75, or 1 second.


───────────────────────────────────────────────────────────────────────────────
MODE device CODEPAGE PREPARE=((code-page)filespec)
MODE device CODEPAGE SELECT=code-page
MODE device CODEPAGE REFRESH
MODE device CODEPAGE [/STATUS]

Sets or displays code pages for a parallel printer or your video display.

You can abbreviate CODEPAGE with CP, PREPARE with PREP, SELECT with SEL,
REFRESH with REF, and /STATUS with /STA.

'device' is LPT1, LPT2, LPT3, or CON.

'code-page' is a code page: 437, 850, 860, 863, 865.

'filespec' is the Code Page Information (.CPI) file to use to prepare the
code page.

PREPARE prepares a code page for later use.  SELECT selects a previously
PREPAREd code page.  

REFRESH resets (re-downloads to the device) the current code pages in case 
the device has lost them through power or other failure.

/STATUS displays the current code pages PREPAREd and/or SELECTed for a
device.  /STATUS is the default, so you don't need to type "/STATUS".


───────────────────────────────────────────────────────────────────────────────
MORE <filespec
command | MORE

Displays data, pausing after each screenful

MORE read from 'stdin', and displays on the video screen 1 screenful at a
time.  After each screenful, you can press a key to see the next screenful.

MORE is often used with a pipe from a long-winded program so that you can
see the output at a leisurely pace.  Note that when using pipes, the first
program runs to completion with its output going to a file.  Then MORE gets
that file as input.  In other words, you do NOT see the program output in
real time.


───────────────────────────────────────────────────────────────────────────────
NLSFUNC filespec

Enables National Language Support functions

National Language Support functions include country specific data for 
international character sets, date/time formats, currency symbol, etc.  See
your DOS manual for more information.


───────────────────────────────────────────────────────────────────────────────
PATH [path1][;path2 ...]

Defines or displays a list of directories to search for external commands

PATH with no parameter displays the current PATH.

When defining your path, notice that you separate each pathname with a 
semicolon (not a comma).

The PATH command defines a list of directories which DOS will search when
you type a command that it does not internally recognize.  DOS will search
each directory in turn until it finds a file matching your command.  In DOS
3.3 and earlier, DOS ignores any FILE extension you type on your command. 
In DOS 4.0 or higher, if you type a file extension on your command, DOS only
looks for a file with that extension.  

By default, DOS looks in each directory for a file with a .COM, .EXE,
or .BAT extension (in that order).  DOS executes the first matching file it
finds.

To delete all the search paths, type "PATH ;".


───────────────────────────────────────────────────────────────────────────────
PAUSE [comment]

Asks the user to type any key to continue batch file processing

The PAUSE command with no 'comment' simply displays "Press any key to
continue . . .", and waits for the user to press a key.  You can abort the
batch file there by pressing ^C.  DOS will prompt you for confirmation before
aborting the batch file.  Pressing any other key resumes batch file execution.

If ECHO is on, PAUSE displays 'comment', and then asks the user to press any
key to continue.  When ECHO is off, PAUSE does not display 'comment', making
this a largely worthless feature.  You can display any message by using
ECHO, followed by PAUSE with no comment.


───────────────────────────────────────────────────────────────────────────────
PRINT [filespec ...]

Print a file in the background, or manage the print queue
  /D:device     The printer name: PRN, LPTn, or COMn.  /D must precede any 
                other modifiers on the command line.
  /B:size       Sets the size (in bytes) of the internal print buffer. 
                Default is 512 bytes.  'size' must be from 512 to 16384.
                Bigger buffers print slightly faster.
  /U:ticks      Time to wait for the printer to become ready.  There are 18
                ticks per second, so /U:36 waits about 2 seconds.  Default
                is 1.  Range is 1 to 255 (14 seconds).
  /M:ticks      Maximum time to print a single character on the printer. 
                Default is 2.  Range is 1 to 255 (14 seconds).
  /S:ticks      Number of ticks PRINT is allowed each round of scheduling. 
                Bigger number prints faster, and slows other tasks. Default 
                is 8.  Range is 1 to 255.
  /Q:nfiles     Maximum number of files in print queue.  This modifier may
                not be used with any filenames.  Default is 10.  Range is 4
                to 32.
  /T            Terminates PRINTing.  Removes all files from the print queue.
  /C            Cancels (removes) the preceding filename, and all following 
                filenames from the print queue.
  /P            Reverse the /C modifier.  Adds the preceding filename, and
                all subsequent filenames, to the print queue.

You can only use the /D, /B, /U, /M, /S, and /Q switches on the first PRINT
command since rebooting, because they define how PRINT will reside in memory.

PRINT is a memory resident program (TSR) that maintains a queue (list) of
filenames to be printed, and prints them in the background while you do
other things with your computer.  PRINT should NOT be used with network
printers, as most networks maintain their own print queues.

The filenames in the print queue can be at most 64 characters long,
including the drive specifier.


───────────────────────────────────────────────────────────────────────────────
PROMPT [string]

Displays or sets the DOS command user prompt

Without a parameter, PROMPT displays the current user command prompt.

You can include a 'string' which DOS then uses to prompt for all commands
from the keyboard.  Within 'string', there are several special codes you
can include to add features to the prompt string.  Each code is a dollar
sign followed by a single character, as follows:

        $Q      the "=" character, needed because DOS deletes "=" from all
                command lines
        $$      the "$" character
        $T      the current time of day
        $D      the current date
        $P      the current default drive and directory
        $V      the DOS version
        $N      the current default drive
        $G      the ">" character, needed because ">" is used for redirection
        $L      the "<" character, needed because "<" is used for redirection
        $B      the "|" character, needed because "|" is used for piping
        $_      a <CR><LF> pair (a new line)
        $E      an <ESC> character, for escape sequences in the prompt
        $H      the backspace character, to overwrite a prompt character

Most people set their prompt to "$P$G ", which gives a prompt line like this:

        C:\DOS> your commands go here


───────────────────────────────────────────────────────────────────────────────
RD path         or      RMDIR path

Removes (deletes) an empty subdirectory

The directory must be empty, except for the "." and ".." entries created by
DOS.  If a directory looks empty, but you cannot delete it, it may have
"Hidden" files in it.  "Hidden" files are an irritating DOS concept where
files can have a "Hidden" attribute such that the DOS DIR command will not 
show them.  Use the InCommand DI command to see ALL the files in a directory.


───────────────────────────────────────────────────────────────────────────────
RECOVER filespec
RECOVER drive:          (very dangerous!)

Recovers some data from a defective file, or
Recovers some data from a defective disk structure

The RECOVER command is a dangerous command which the DOS documentation freely
admits does not work intelligently.  RECOVERing a single file is fairly safe, 
but be absolutely sure to type a filename, and not just a disk drive, 
otherwise RECOVER will wipeout your entire filenaming and directory
structure.  In general, you should not use RECOVER.  Instead, use a 3rd
party data recovery utility.

If your disk gets bad sectors that corrupt a file, you can recover
all of the file except the bad sectors by typing "RECOVER filespec". 
RECOVER discards the bad sectors from a file, leaving you what's
left.  You can then edit the RECOVERed file to replace the missing
data.

If key parts of your disk structure get wiped out, such as a major
directory, you can RECOVER the whole disk.  In this case, every file and
directory on the disk is converted to a file in the root directory, thus
totally wiping out the directory tree structure of your disk, and replacing
all the meaningful filenames with arbitrary numbered files named
FILEnnnn.REC.  Because the root directory can only hold a limited number of 
entries, any files/directories beyond that limit are simply discarded.  THIS
CAN RESULT IN YOU LOSING ALL OF YOUR IMPORTANT DATA.


───────────────────────────────────────────────────────────────────────────────
REM string

Comments your batch file

REM does nothing.  You use it to add descriptive comments to your batch
files.  You should always include comments in your batch files to describe
what they do and how they work, so that the batch files can be easily
understood by anyone who needs to (most likely, it will be you).

Because REM does nothing, you can use it interactively or in a batch file to
create a file of zero length.  Simply enter
        REM >pathname

───────────────────────────────────────────────────────────────────────────────
REN old-wildspec new-wildspec
RENAME old-wildspec new-wildspec

Changes the name of files

Rename accepts wildcards, so you can rename many files with one command. 
Wildcards in 'new-filename' are replaced with the characters from the
the actual filename found which matches 'old-filespec' (see Using DHELP).
'new-wildspec' may not include a drive or path.

RENAME can not move a file to another directory or disk drive.  Any drive
you specify in 'new-filespec' is ignored.  Directory paths are not allowed
in 'new-filespec'.


───────────────────────────────────────────────────────────────────────────────
RENAME is a synonym for REN.  See REN.


───────────────────────────────────────────────────────────────────────────────
REPLACE source-wildspec dest-spec

Selectively copies files from one directory to another
  /A    add files which don't exist in the destination directory.  Like the 
        InCommand /IFMISSING modifier.  Cannot be used with /S or /U.
  /P    Prompt for confirmation before adding or replacing a file.
  /R    Replace destination files even if they have the Read-only attribute.
  /S    Search subdirectories of the destination directory to find files to
        replace.  REPLACE never searches subdirectories of the source 
        directory.
  /U    Update: Replace files in the destination directory if the source
        file is newer.  Like the InCommand /IFNEWER modifier.
  /W    Wait for you to switch floppies before REPLACing anything.  This is 
        for computers with no hard disk.

REPLACE selectively copies files from the source to the destination file.
With the /S modifier, REPLACE reads files from a single source directory,
and scans through the destination tree to find a file of the same name. 
That file is then overwritten (as applicable, if you use the /U modifier).

REPLACE does not recognize Hidden or System files.

EXIT CODES:
        0       Success
        2       No source files found
        3       Path not found
        5       Access Denied
        8       Insufficient memory
        11      Syntax error
        15      Invalid disk drive


───────────────────────────────────────────────────────────────────────────────
RESTORE drive1: [wildspec]

Copies files from a disk created with BACKUP
  /S    Copy the given directory, including its subdirectory tree.
  /P    Prompt before overwriting any files with Read-only or Needs-Archiving
        attributes.
  /B:date       Copy only files modified on or before 'date'.
  /A:date       Copy only files modified on or after 'date'.
  /E:time       Copy only files modified at or earlier than 'time'.
  /L:time       Copy only files modified at or later than 'time'.
  /M    Copy only files that have the Archive (i.e., needs archiving) 
        attribute in the destination directory.
  /N    Copy only files that don't already exist in the destination directory.
        Like the InCommand /IFMISSING modifier.

RESTORE selectively copies files from the backup disk to another disk,
according to the modifiers you select.  The backup disk is created with
BACKUP, and has a special format used only by BACKUP and RESTORE.

Normally, RESTORE always puts RESTOREd files in the same absolute directory
path (from the root directory) from which they were backed up.  But see the 
BACKUP command for more information about BACKUP/RESTORE, including
how to BACKUP/RESTORE from any directory, and to any directory.

EXIT CODES:
        0       Success
        1       No source files found
        3       Aborted by user
        4       Fatal error


───────────────────────────────────────────────────────────────────────────────
RMDIR path

Removes (deletes) an empty subdirectory (synonym for RD).  See RD.


───────────────────────────────────────────────────────────────────────────────
SELECT

Interactively installs or configures DOS 4.0x.

SELECT creates an AUTOEXEC.BAT and CONFIG.SYS according to your
configuration entries.  If AUTOEXEC.BAT and CONFIG.SYS already exist on your
system disk, SELECT creates the new files as AUTOEXEC.400 and CONFIG.400. 
You must manually copy them into AUTOEXEC.BAT and CONFIG.SYS, and then
re-boot your system for the new configuration to take effect.

The SELECT command lets you choose such DOS configuration as memory
allocation, country information for dates and currency symbols, printer
configuration, installable device drivers, and other options.

While in the interactive menus, use <F1> for context sensitive help. 
Before running SELECT, you should note how much main, extended, and expanded
memory you have, and what kind of printer you have.


───────────────────────────────────────────────────────────────────────────────
SET                             (display all environment variables)
SET variable=[value]            (define or delete an environment variable)

Defines or displays DOS environment variables

Environment variables are equated to character strings.  Batch files and
programs can reference the environment variables, and have their current
values substituted at run time.  Environment variable *names* are always 
converted to upper case, and may by entered in any mixture of upper and lower 
case.  Environment *values* are stored exactly as you enter them, preserving
the case of letters.

Omitting the 'value' deletes the environment variable.

Do NOT put extraneous spaces before or after the "=", as they will be
interpreted as part of the variable name or value.

Environment variables last throughout your DOS session, or until you
explicity remove them.  If you have "shelled out" to a DOS command subshell,
your environment variables are local to that subshell, and they disappear
when you EXIT the subshell.  The parent process' variables remain unchanged
from when the subshell was created.

From a batch file, you refer to environment variable by enclosing the
variable name in percent signs ("%").  For example, the batch commands
        SET FILE=AUTOEXEC.BAT
        TYPE %file%
will TYPE the AUTOEXEC.BAT file.


───────────────────────────────────────────────────────────────────────────────
SHARE

Adds controlled shared file processing to DOS
  /F:size       Size in bytes of the file sharing database.  Default is 2048
                bytes.  The file sharing database includes the full pathname
                plus 11 bytes for each open file.
  /L:numlocks   Number of file locks to allow.  Default is 20.

In DOS 4.x, SHARE is automatically loaded for disk partitions >32 MB.

Share can be used for both local and network files.  After share is
installed, file sharing protection is enabled.  Applications set the sharing
capabilities they want for each file when they open it.

Also, when reading/writing to a floppy, if the diskette is changed, and then
a read/write is attempted to the diskette, SHARE will prompt you to put in
the proper disk, and then proceed with the disk operation.

You can also INSTALL SHARE in your CONFIG.SYS file, with this line:
        INSTALL=SHARE.EXE


───────────────────────────────────────────────────────────────────────────────
SHIFT

Shifts the position of all batch parameters down by 1

SHIFT is usually used to process batch file parameters when the user will
enter a variable number of parameters with each invocation.  SHIFT replaces
parameter %0 with parameter %1, %1 is replaced by %2, etc.  For example, if
you have these batch parameters:
        %0      BATCHFIL.BAT
        %1      ABC
        %2      DEF
and you execute a SHIFT command, your new parameters will be these:
        %0      ABC
        %1      DEF
and %2 is now the empty string.

You can also use the SHIFT command to access more than 10 batch file
parameters, because the 10th parameter will be SHIFTed into %9.

You can use SHIFT in a loop to process a list of parameters.  For example,
if you wanted a batch file to delete a list of files, it might look like this:

        :LOOP
        IF "%1"==""  GOTO END
        DEL %1
        SHIFT
        GOTO LOOP
        :END


───────────────────────────────────────────────────────────────────────────────
source-command | SORT           (piping into SORT)
SORT <filespec                  (redirecting into SORT).

Sorts (alphabetizes) input data based on any character position
  /R    Reverse the sort order (Z first, down to A, then 9, down to 0).
  /+n   Sort starting at column 'n'.

SORT is a filter, which means it reads data from the "standard input",
usually the keyboard, or the piped output from another program, or a file
redirected into SORT.  In the first form, 'source-command' is any command
which writes to standard output.

The sorting order (collating sequence) is defined by the current country and 
code page settings.  SORT is case insensitive (i.e., SORT treats upper and 
lower case the same).


───────────────────────────────────────────────────────────────────────────────
SUBST [drive: path]     (create/display a virtual drive)
SUBST drive: /D         (delete a virtual drive)

Creates/deletes a virtual drive letter representing a subdirectory path
  /D    delete the virtual drive

SUBST allows you to abbreviate a long path name by equating it to a virtual
drive.  You can then use the virtual drive as if it were a regular drive.
The virtual drive letter must be within the limit of LASTDRIVE in your
CONFIG.SYS.

If you type SUBST with no parameters, it displays all virtual drives.

The following command do not work on SUBSTituted drives:
        CHKDSK  DISKCOPY  FDISK  FORMAT  LABEL  RECOVER  SYS


───────────────────────────────────────────────────────────────────────────────
SYS drive:

Makes a disk almost bootable for DOS

SYS makes 'drive' almost bootable by copying the IO.SYS and MSDOS.SYS files 
(or their equivalent) from the default disk to 'drive'.  These files are 
Hidden, and do NOT show up in the DOS DIR command, but they DO appear in the
InCommand DI command.

To make the disk bootable, you must manually copy a COMMAND.COM to it.  You
will usually want a CONFIG.SYS as well.


───────────────────────────────────────────────────────────────────────────────
TIME [hours:minutes:seconds.hundredths]         (use 24-hour time)

Sets or displays the computer time of day

If you omit the time parameter, TIME displays the current time and asks for
a new time.  You may press <ENTER> to keep the current setting.

If you enter a new time, you must include at least the hours and minutes. 
The seconds and hundredths are optional.  You must enter hours in 24-hour
time.

The United States uses a colon (":") to separate hours, minutes, and
seconds.  If you use a different country format, your country defines the 
separator you should use. 

The time format can be changed with the COUNTRY= LINE in your CONFIG.SYS file, 
depending on the code page you use.


───────────────────────────────────────────────────────────────────────────────
TREE path

Graphically displays subdirectory tree structure
  /F    include filenames under each subdirectory.
  /A    use standard ASCII (instead of graphics characters) to draw the tree.

TREE displays the entire directory tree below 'path', optionally including
files as well as subdirectories.


───────────────────────────────────────────────────────────────────────────────
TYPE filespec

Copies data to the DOS display

TYPE simply copies the given file to the DOS display (standard output). 
For long files, you may want to use MORE instead of TYPE.  MORE pauses after
each screenful of text.


───────────────────────────────────────────────────────────────────────────────
VER

Displays the DOS version number


───────────────────────────────────────────────────────────────────────────────
VERIFY [ON]
VERIFY OFF

Enables/disables read-after-write of disk sectors to insure sector is good.

Setting VERIFY ON causes DOS to read every disk sector immediately after it
is written to verify that the sector is good.  The verification is based on
the sector CRC (cyclic redundancy check); the contents of the sector are NOT
compared against the original data written (that would be very slow). VERIFY 
ON does the same thing for all disk writes as the /V modifier does for the
COPY command.

Entering VERIFY with no parameter displays the current VERIFY setting.


───────────────────────────────────────────────────────────────────────────────
VOL [drive:]

Displays a disk volume label and serial number, if they exist

'drive' defaults to your current default drive.  You can give a Volume label
to a disk with the LABEL command.  DOS 4.0 and higher gives a disk a unique 
serial number (based on the date and time) when it is formatted.


───────────────────────────────────────────────────────────────────────────────
XCOPY source-wildspec [dest-spec]

Copies files and subdirectories
  /A    Copy only files with the Archive attribute.  XCOPY does not modify 
        the source file Archive attribute.
  /D:date       Copy only files modified on or after 'date'.  The date format
                varies with your country code.
  /E    Copy empty subdirectories as well as subdirectories with files.  You
        must use /E with /S.
  /M    Copy only files with the Archive attribute.  XCOPY clears the Archive
        attribute from the source files after they are copied.
  /P    Prompt before creating each destination file.
  /S    Copy the directory tree starting with 'source-filespec'.
  /V    Verify that each destination-file is the same as the source file. 
        This is a complete verify, unlike the COPY/V function.
  /W    Wait for user confirmation before starting, to allow a diskette change.

XCOPY copies files, and directory trees.  It is faster than COPY, because it
reads as much as it can fit in memory first, and then writes it all out. 
This large disk buffering reduces disk head seeks when copying within a
drive.

The XCOPY verify function is more complete than COPY/V or the VERIFY ON
functions, because XCOPY reads back the destination file and verifies that
all the data matches the source file.

If the 'destination-filespec' does not exist and has no wildcards, XCOPY
asks whether the 'destination-filespec' should be a file or a directory. 
You can avoid this question by putting a backslash ("\") after
'destination-filespec' to identify it as a directory.

You should not copy multiple source files into a single destination file,
because each source file completely overwrites the destination file, with
the result that only the last source file is effectively copied.

EXIT CODES:
        0       Success
        1       No source files found
        2       User aborted XCOPY with ^C
        4       Fatal error: insufficient memory, syntax error, path not
                found, etc.  No files were copied.
        5       User typed "Abort" at the "Abort, Retry, Fail ?" prompt.


